package de.reichelt.fxrequi.data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;

public class ProjectX {
  @Attribute private String name;
  @Attribute private String title;
  @Attribute private String state;
  @Element(required=false) private String descr;
  @Attribute(required=false) private String keywords;
  @ElementList(required=false) private List<String> artefacts;
  @ElementList(required=false) private List<GlossaryX> glossary;
  @ElementList(required=false) private List<String> projectVersions;
  @ElementList(required=false) private List<RequirementX> requirements;
  
  public ProjectX() {
    artefacts = new ArrayList<>();
    glossary = new ArrayList<>();
    projectVersions = new ArrayList<>();
    requirements = new ArrayList<>();
  }

  public ProjectX(String name, String title, String state, String descr, String keywords) {
    this.name = name;
    this.title = title;
    this.state = state;
    this.descr = descr;
    this.keywords = keywords;
    artefacts = new ArrayList<>();
    glossary = new ArrayList<>();
    projectVersions = new ArrayList<>();
    requirements = new ArrayList<>();
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }

  public String getState() {
    return state;
  }

  public void setState(String state) {
    this.state = state;
  }

  public String getDescr() {
    return descr;
  }

  public void setDescr(String descr) {
    this.descr = descr;
  }

  public String getKeywords() {
    return keywords;
  }

  public void setKeywords(String keywords) {
    this.keywords = keywords;
  }

  public List<String> getArtefacts() {
    return artefacts;
  }

  public void setArtefacts(List<String> artefacts) {
    this.artefacts = artefacts;
  }

  public List<GlossaryX> getGlossary() {
    return glossary;
  }

  public void setGlossary(List<GlossaryX> glossary) {
    this.glossary = glossary;
  }

  public List<RequirementX> getRequirements() {
    return requirements;
  }

  public void setRequirements(List<RequirementX> requirements) {
    this.requirements = requirements;
  }

  public List<String> getProjectVersions() {
    return projectVersions;
  }

  public void setProjectVersions(List<String> projectVersions) {
    this.projectVersions = projectVersions;
  }
  
  
}
